10 POKE 106,PEEK(106)-1220 GOTO 186030 REM INITILIZE STARTING POSITIONS40 X0=100:Y0=8050 X1=150:Y1=16060 VX0=0:VY0=0:VX1=0:VY1=070 M0FLAG=0:M1FLAG=080 REM PLAYER #090 POKE 53278,0:REM CLEAR COLLISION REGISTER100 IF STRIG(0)=0 THEN 430110 Z0=STICK(0)120 IF Z0=15 THEN 230130 REM UPDATE VELOCITY VECTORS140 IF Z0=14 THEN VX0=0:VY0=-3150 IF Z0=13 THEN VX0=0:VY0=3160 IF Z0=10 THEN VX0=-2:VY0=-3170 IF Z0=9 THEN VX0=-2:VY0=3180 IF Z0=11 THEN VX0=-2:VY0=0190 IF Z0=7 THEN VX0=2:VY0=0200 IF Z0=6 THEN VX0=2:VY0=-3210 IF Z0=5 THEN VX0=2:VY0=3220 REM UPDATE POSITION PLAYER0230 X0=X0+VX0:Y0=Y0+VY0240 IF X0<46 THEN X0=46250 IF X0>198 THEN X0=198260 IF Y0<24 THEN Y0=24270 IF Y0>216 THEN Y0=216280 A=USR(1536,0,10,Y0OLD,Y0,X0)290 Y0OLD=Y0300 IF M0FLAG=0 THEN 780310 REM UPDATE POSITION MISSILE 0320 XM0=XM0+VXM0:YM0=YM0+VYM0330 IF XM0<40 THEN 400340 IF XM0>207 THEN 400350 IF YM0<20 THEN 400360 IF YM0>220 THEN 400370 A=USR(1536,4,2,YM0OLD,YM0,XM0)380 YM0OLD=YM0:GOTO 420390 REM REMOVE MISSILE TO OFF SCREEN400 M0FLAG=0410 A=USR(1536,4,2,YM0OLD,YM0OLD,10)420 GOTO 780430 IF M0FLAG=1 THEN 590440 Z0=STICK(0)450 IF Z0=15 THEN 690460 IF Z0=14 THEN VXM0=0:VYM0=-6470 IF Z0=13 THEN VXM0=0:VYM0=6480 IF Z0=10 THEN VXM0=-5:VYM0=-6490 IF Z0=9 THEN VXM0=-5:VYM0=6500 IF Z0=11 THEN VXM0=-5:VYM0=0510 IF Z0=7 THEN VXM0=5:VYM0=0520 IF Z0=6 THEN VXM0=5:VYM0=-6530 IF Z0=5 THEN VXM0=5:VYM0=6540 M0FLAG=1550 XM0=X0+4:YM0=Y0+2560 FOR I=15 TO 0 STEP -0.25570 SOUND 0,10,0,I:NEXT I580 REM UPDATE POSITION MISSILE 0590 XM0=XM0+VXM0:YM0=YM0+VYM0600 IF XM0<40 THEN 670610 IF XM0>207 THEN 670620 IF YM0<20 THEN 670630 IF YM0>220 THEN 670640 A=USR(1536,4,2,YM0OLD,YM0,XM0)650 YM0OLD=YM0:GOTO 700660 REM REMOVE MISSILE TO OFF SCREEN670 M0FLAG=0680 A=USR(1536,4,2,YM0OLD,YM0OLD,10)690 REM UPDATE POSITION PLAYER0700 X0=X0+VX0:Y0=Y0+VY0710 IF X0<46 THEN X0=46720 IF X0>198 THEN X0=198730 IF Y0<24 THEN Y0=24740 IF Y0>216 THEN Y0=216750 A=USR(1536,0,10,Y0OLD,Y0,X0)760 Y0OLD=Y0770 REM PLAYER #1780 IF STRIG(1)=0 THEN 1110790 Z1=STICK(1)800 IF Z1=15 THEN 910810 REM UPDATE VELOCITY VECTORS820 IF Z1=14 THEN VX1=0:VY1=-3830 IF Z1=13 THEN VX1=0:VY1=3840 IF Z1=10 THEN VX1=-2:VY1=-3850 IF Z1=9 THEN VX1=-2:VY1=3860 IF Z1=11 THEN VX1=2:VY1=0870 IF Z1=7 THEN VX1=2:VY1=0880 IF Z1=6 THEN VX1=2:VY1=-3890 IF Z1=5 THEN VX1=2:VY1=3900 REM UPDATE POSITION PLAYER1910 X1=X1+VX1:Y1=Y1+VY1920 IF X1<46 THEN X1=46930 IF X1>198 THEN X1=198940 IF Y1<24 THEN Y1=24950 IF Y1>216 THEN Y1=216960 A=USR(1536,1,10,Y1OLD,Y1,X1)970 Y1OLD=Y1980 REM UPDATE POSITION MISSILE 1990 XM1=XM1+VXM1:YM1=YM1+VYM11000 IF XM1<40 THEN 10701010 IF XM1>207 THEN 10701020 IF YM1<20 THEN 10701030 IF YM1>220 THEN 10701040 A=USR(1536,5,2,YM10LD,YM1,XM1)1050 YM1OLD=YM1:GOTO 11001060 REM REMOVE MISSILE TO OFF SCREEN1070 M1FLAG=01080 A=USR(1536,5,2,YM1OLD,YM1OLD,10)1090 IF M1FLAG=0 THEN 14701100 GOTO 12701110 IF M1FLAG=1 THEN 12701120 Z1=STICK(1)1130 IF Z1=15 THEN 13801140 IF Z1=14 THEN VXM1=0:VYM1=-61150 IF Z1=13 THEN VXM1=0:VYM1=61160 IF Z1-10 THEN VXM1=-5:VYM1=-61170 IF Z1=9 THEN VXM1=-5:VYM1=01180 IF Z1=11 THEN VXM1=-5:VYM1=01190 IF Z1=7 THEN VXM1=5:VYM1=01200 IF Z1=6 THEN VXM1=5:VYM1=-61210 IF Z1=5 THEN VXM1=5:VYM1=61220 M1FLAG=11230 XM1=X1+4:YM1=Y1+21240 FOR I=15 TO 0 STEP -0.251250 SOUND 1,10,0,I:NEXT I1260 REM UPDATE POSITION MISSILE 11270 XM1=XM1+VXM1:YM1=YM1+VYM11280 IF XM1<40 THEN 13501290 IF XM1>207 THEN 13501300 IF YM1<20 THEN 13501310 IF YM1>220 THEN 13501320 A=USR(1536,5,2,YM10LD,YM1,XM1)1330 YM1OLD=YM1:GOTO 13701340 REM REMOVE MISSILE TO OFF SCREEN1350 M1FLAG=01360 A=USR(1536,5,2,YM10LD,YM10LD,10)1370 IF STRIG(1)=1 THEN 14701380 REM UPDATE POSITION PLAYER11390 X1=X1+VX1:Y1=Y1+VY11400 IF X1<46 THEN X1=461410 IF X1>198 THEN X1=1981420 IF Y1<24 THEN Y1=241430 IF Y1>216 THEN Y1=2161440 A=USR(1536,1,10,Y1OLD,Y1,X1)1450 Y1OLD=Y11460 REM DETECT COLLISIONS BETWEEN SHIPS1470 IF PEEK(53260)>0 THEN 15301480 REM DETECT MISSILE 0 COLLISION PLAYER 11490 IF PEEK(53256)=2 THEN 17501500 REM DETECT MISSILE 1 COLLISION PLAYER 01510 IF PEEK(53257)=1 THEN 16401520 GOTO 901530 REM REMOVE SHIPS$#0&1 IN A DUAL SHIP COLLISION1540 X1=10:X0=101550 FOR I=15 TO 0 STEP -0.21560 SOUND 0,250,4,I:FOR W=1 TO 5:NEXT W1570 POKE 704,148+INT(10-I*0.66)1580 POKE 705,52+INT(10-I*0.66):NEXT I1590 A=USR(1536,0,10,Y0OLD,Y0OLD,X0)1600 A=USR(1536,1,10,Y1OLD,Y1OLD,X1)1610 A=USR(1536,4,2,YM0OLD,YM0OLD,10)1620 FOR DE=1 TO 200:NEXT DE1630 GOTO 401640 REM REMOVE SHIP #01650 FOR I=15 TO 0 STEP -0.21660 SOUND 0,250,4,I:FOR W=1 TO 5:NEXT W1670 POKE 704,148+INT(10-I*0.66):NEXT I1680 X0=101690 A=USR(1536,0,10,Y0OLD,Y0OLD,X0)1700 A=USR(1536,5,2,YM1OLD,YM1OLD,10)1710 A=USR(1536,4,2,YM0OLD,YM0OLD,10)1720 FOR DE=1 TO 200:NEXT DE1730 POKE 704,1521740 GOTO 401750 REM REMOVE SHIP #11760 FOR I=15 TO 0 STEP -0.21770 SOUND 0,250,4,I:FOR W=1 TO 5:NEXT W1780 POKE 705,52+INT(10-1*0.66):NEXT I1790 X1=101800 A=USR(1536,1,10,Y1OLD,Y1OLD,X1)1810 A=USR(1536,4,2,YM0OLD,YM0OLD,10)1820 A=USR(1536,5,2,YM10LD,YM10LD,10)1830 FOR DE=1 TO 200:NEXT DE1840 POKE 705,561850 GOTO 401860 CB=PEEK(106):CHRSET=CB*2561870 PM=PEEK(106)+4:PMBASE=PM*2561880 GRAPHICS 1+161890 REM POKE IN PM ROUTINE1900 FOR I=0 TO 150:READ X:POKE 1536+I,X:NEXT I1910 REM POKE IN PM CLEAR ROUTINE1920 FOR I=0 TO 25:READ X:POKE 1696+I,X:NEXT I1930 REM ACTIVATE P/M1940 SETCOLOR 2,0,01950 POKE 559,62:REM SET DMACTL -SINGLE LINE1960 POKE 53277,3:REM SET GRACTL -PLAYERS&MISSILES1970 A=USR(1696,PMBASE)1980 POKE 53256,0:POKE 53257,0:REM PLAYERS REGULAR WIDTH1990 POKE 53260,0:REM MISSILES REGULAR WIDTH2000 POKE 704,152:REM PLAYER0 BLUE GREEN LUM 82010 POKE 705,56:REM PLAYER1 RED ORANGE LUM 82020 POKE 54279,PM:REM TELL ANTIC PMBASE2030 POKE 1686,PM:REM POKE HI BYTE PMBASE INTO SUBROUTINE2040 REM READ PLAYER DATA INTO STORAGE AREA2050 FOR I=0 TO 92060 READ VAL:POKE PMBASE+I,VAL:NEXT I2070 FOR I=0 TO 92080 READ VAL:POKE PMBASE+64+I,VAL:NEXT I2090 REM INITILAZATION 1ST TIME ONLY2100 Y0OLD=80:Y1OLD=160:YM0OLD=10:YM1OLD=102110 GOTO 402120 REM PLAYER SUBROUTINE DATA2130 DATA 104,162,0,104,104,157,145,6,232,224,5,208,246,173,1492135 DATA 6,174,145,6,157,0,208,173,150,62140 DATA 133,213,24,105,4,133,207,173,145,6,201,4,176,47,1702145 DATA 189,133,6,133,212,202,48,4,230,2072150 DATA 208,249,173,147,6,133,206,169,0,168,145,206,200,2042155 DATA 146,6,144,248,173,148,6,133,206,160,02160 DATA 177,212,145,206,200,204,146,6,144,246,96,56,233,42165 DATA 170,198,207,173,147,6,133,206,160,0,12170 DATA 206,61,137,6,145,206,200,204,146,6,144,243,173,1482175 DATA 6,133,206,160,0,177,206,29,141,6,1452180 DATA 206,200,204,146,6,144,243,96,0,64,128,192,252,2432185 DATA 207,63,3,12,4.8,192,0,0,0,0,0,02190 REM CLEAR PM AREA ROUTINE DATA2200 DATA 104,104,133,213,104,133,212,162,0,160,0,169,0,1452205 DATA 212,200,208,251,230,213,232,224,8,144,240,962210 REM PLAYER DATA2220 DATA 153,153,189,189,255,255,189,189,153,1532230 DATA 153,153,189,189,255,255,189,189,153,153